# Maintainer: Andrew Sun <adsun701 at gmail dot com>
# Contributor: Florian Pritz <bluewind at xinu dot at>
# Contributor: lilydjwg <lilydjwg at gmail dot com>
# Contributor: Matthias Maennich <arch at maennich dot net>
# Contributor: Massimiliano Torromeo <massimiliano dot torromeo at gmail dot com>
# Contributor: Jan-Erik Meyer-Luetgens <nyan at meyer-luetgens dot de>

pkgbase=python-pyside
pkgname=(python-pyside-common python2-pyside python-pyside)
_pkgrealname=pyside
pkgver=1.2.4
pkgrel=15
arch=('x86_64' 'aarch64')
license=(LGPL)
url="https://wiki.qt.io/PySide"
_qtver=4.8
makedepends=(python-setuptools python2-setuptools python-shiboken python2-shiboken phonon-qt4 cmake)
source=("pypi-$pkgbase-$pkgver.tar.gz::https://pypi.python.org/packages/source/P/PySide/PySide-$pkgver.tar.gz")
sha256sums=('1421bc1bf612c396070de9e1ffe227c07c1f3129278bc7d30c754b5146be2433')

build(){
  cd $srcdir/PySide-$pkgver/sources/pyside

  mkdir -p build_py3
  cd build_py3
  cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TESTS=OFF \
    -DQT_PHONON_INCLUDE_DIR=/usr/include/qt4/phonon -DQT_QMAKE_EXECUTABLE=qmake-qt4
  make

  cd ..
  mkdir -p build_py2
  cd build_py2
  _ver2=$(python2 -c "import platform; print(platform.python_version())")
  cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TESTS=OFF \
    -DQT_PHONON_INCLUDE_DIR=/usr/include/qt4/phonon -DQT_QMAKE_EXECUTABLE=qmake-qt4 \
    -DPYTHON_SUFFIX=-python${_ver2%.*}
  make
}

package_python-pyside-common(){
  pkgdesc="Provides LGPL Qt bindings for Python and related tools for binding generation (Common Files)"
    # cmake will use Python 3 version by default
  cd PySide-$pkgver/sources/pyside/build_py3
  make DESTDIR="$pkgdir" install

  rm -rf "$pkgdir"/usr/lib/pkgconfig
  rm -rf "$pkgdir"/usr/lib/python* "$pkgdir"/usr/lib/libpyside.*
  rm "$pkgdir"/usr/lib/cmake/PySide-$pkgver/PySideConfig*python*.cmake
}

package_python-pyside(){
  depends=(python-shiboken python-pyside-common)
  pkgdesc="Provides LGPL Qt bindings for Python and related tools for binding generation (Python 3 version)"
  optdepends=('phonon-qt4: for PySide.phonon')

  cd PySide-$pkgver/sources/pyside/build_py3
  make DESTDIR="$pkgdir" install

  _ver3=$(python -c "import platform; print(platform.python_version())")

  cp -r "$srcdir/PySide-$pkgver/pyside_package/PySide.egg-info" \
    "$pkgdir/usr/lib/python${_ver3%.*}/site-packages/pyside-$pkgver-py${_ver3%.*}.egg-info"
  mv "$pkgdir"/usr/lib/pkgconfig/pyside.pc \
    "$pkgdir"/usr/lib/pkgconfig/pyside-py3.pc

  rm -rf "$pkgdir"/usr/include
  rm -rf "$pkgdir"/usr/share
  rm "$pkgdir"/usr/lib/cmake/PySide-$pkgver/PySideConfig.cmake
  rm "$pkgdir"/usr/lib/cmake/PySide-$pkgver/PySideConfigVersion.cmake
}

package_python2-pyside(){
  depends=(python2-shiboken python-pyside-common)
  pkgdesc="Provides LGPL Qt bindings for Python and related tools for binding generation (Python 2 version)"
  optdepends=('phonon-qt4: for PySide.phonon')

  cd "$srcdir/PySide-$pkgver/sources/pyside/build_py2"
  make DESTDIR="$pkgdir" install

  _ver2=$(python2 -c "import platform; print(platform.python_version())")

  cp -r "$srcdir/PySide-$pkgver/pyside_package/PySide.egg-info" \
    "$pkgdir/usr/lib/python${_ver2%.*}/site-packages/pyside-$pkgver-py${_ver2%.*}.egg-info"
  mv "$pkgdir"/usr/lib/pkgconfig/pyside.pc \
    "$pkgdir"/usr/lib/pkgconfig/pyside-py2.pc

  sed -i 's#^Requires: shiboken$#Requires: shiboken-py2#' "$pkgdir"/usr/lib/pkgconfig/pyside-py2.pc

  rm -rf "$pkgdir"/usr/include
  rm -rf "$pkgdir"/usr/share
  rm "$pkgdir"/usr/lib/cmake/PySide-$pkgver/PySideConfig.cmake
  rm "$pkgdir"/usr/lib/cmake/PySide-$pkgver/PySideConfigVersion.cmake
}

